<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<title></title>
	<script src="js/moment-with-locales.js"></script>
</head>

<body>
	<script>
		//设置语言环境 (全局) 
		//moment.locale('zh-cn');
		console.log(moment.locale());	//en //返回当前的语言环境

		console.log(
			moment().weekday(0),	//根据语言环境获取或设置（传参）星期几。英文环境为星期天，中文环境为星期一
			moment().format('LLLL'),	//格式化时间，参数为本地化格式。英文环境与中文环境都不同
			
			moment().month(),
		);

		//设置语言环境 (局部) 
		var myMoment = moment();
		myMoment.locale('ar-dz');

		console.log(moment().format('LLLL'));
		console.log(myMoment.format('LLLL'));

		//months()/weekdays() 
		/* moment.locale('ru');
		moment.locale('zh-hk'); */
		console.log(
			moment.months(),
			moment.monthsShort(),
			moment.weekdays(),
			moment.weekdaysShort(),
			moment.weekdaysMin(),
		);

		//localeData()
		console.log(
			moment.localeData(),
			moment.localeData().monthsShort(),
		);


		//自定义
		moment.updateLocale('zh-cn', {
			//设置月份名称
			months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),

			//设置月分名称的缩写
			monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),

			//设置星期名称
			weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),

			//设置星期名称的缩写
			weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),

			//设置星期名称的最小缩写
			weekdaysMin: '日_一_二_三_四_五_六'.split('_'),


			//设置长日期格式，是个对象
			longDateFormat: {
				LT: 'Ah点mm分',
				LTS: 'Ah点m分s秒',
				L: 'YYYY-MM-DD',
				LL: 'YYYY年MMMD日',
				LLL: 'YYYY年MMMD日Ah点mm分',
				LLLL: 'YYYY年MMMD日ddddAh点mm分',
				l: 'YYYY-MM-DD',
				ll: 'YYYY年MMMD日',
				lll: 'YYYY年MMMD日Ah点mm分',
				llll: 'YYYY年MMMD日ddddAh点mm分'
			},

			//设置相对时间，from()与to()的方法返回的值就是从这里取的
			relativeTime: {
				future: '%s内',
				past: '%s前~~~',
				s: '几秒',
				m: '1 分钟',
				mm: '%d 分钟',
				h: '1 小时',
				hh: '%d 小时',
				d: '1 天',
				dd: '%d 天',
				M: '1 个月',
				MM: '%d 个月',
				y: '1 年',
				yy: '%d 年'
			},

			//设置时间段，参数：小时,分钟,大小写
			meridiem: function (hour, minute, isLower) {
				const hm = hour * 100 + minute;
				if (hm < 600) {
					return '凌晨';
				} else if (hm < 900) {
					return '早上';
				} else if (hm < 1130) {
					return '上午';
				} else if (hm < 1230) {
					return '中午';
				} else if (hm < 1800) {
					return '下午@@@@';
				} else {
					return '晚上';
				}
			},

			//设置日历
			calendar: {
				sameDay: function () {
					return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';
				},
				nextDay: function () {
					return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';
				},
				lastDay: function () {
					return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';
				},
				nextWeek: function () {
					let startOfWeek, prefix;
					startOfWeek = moment().startOf('week');
					prefix = this.diff(startOfWeek, 'days') >= 7 ? '[下]' : '[本####]';
					return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
				},
				lastWeek: function () {
					let startOfWeek, prefix;
					startOfWeek = moment().startOf('week');
					prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
					return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
				},
				sameElse: 'LL'
			},
			week: {
				dow: 1,	//星期的第一天是周1
				doy: 4
			}
		});

		console.log('今天是：' + moment().format('MMMM') + ' ' + moment().format('dddd'));
		console.log('今天是：' + moment().format('MMM') + ' ' + moment().format('ddd'));

		console.log(moment().format('LLLL'));

		console.log(moment([2008]).from());

		console.log(moment().calendar(moment([2020, 3, 15])));
	</script>
</body>
<html>